package com.xx.zuulenum;

/**
 * Zuul 中一共有四种不同生命周期的 Filter，分别是：
 * <p>
 * pre：在 Zuul 按照规则路由到下级服务之前执行。如果需要对请求进行预处理，比如鉴权、限流等，都应考虑在此类 Filter 实现。
 * route：这类 Filter 是 Zuul 路由动作的执行者，是 Apache Http Client 或 Netflix Ribbon 构建和发送原始 HTTP 请求的地方，目前已支持 Okhttp。
 * post：这类 Filter 是在源服务返回结果或者异常信息发生后执行的，如果需要对返回信息做一些处理，则在此类 Filter 进行处理。
 * error：在整个生命周期内如果发生异常，则会进入 error Filter，可做全局异常处理。
 */
public enum FilterType {

    PRE("pre"),
    ROUTE("route"),
    POST("post"),
    ERROR("error");
    String typeName;

    FilterType(String typeName) {
        this.typeName = typeName;
    }

    public String typeName() {
        return this.typeName;
    }
}
